package com.chucang.shucang.ttp.messagecenter.facade;

import com.chucang.shucang.common.mq.message.SmsCodeMessage;
import com.chucang.shucang.ttp.messagecenter.enums.MESSAGE_TYPE;
import com.chucang.shucang.ttp.messagecenter.enums.STRATEGY_TYPE;
import com.chucang.shucang.ttp.messagecenter.factory.MessageFactory;
import com.chucang.shucang.ttp.messagecenter.strategy.MessageContext;
import com.chucang.shucang.ttp.messagecenter.strategy.MessageStrategy;

/**
 * @author flitsneak
 * @email flitsneak@gmail.com
 * @date 2022/9/26 17:27
 * @description 消息门面
 */
public class MessageFacade {

    /**
     * 发送消息
     *
     * @param messageType 消息类型
     * @param codeMessage 消息内容
     * @return 状态
     */
    public static boolean sendMessage(MESSAGE_TYPE messageType, STRATEGY_TYPE strategyType, SmsCodeMessage codeMessage) {

        MessageStrategy messageStrategy = MessageFactory.getMessageStrategy(strategyType);

        MessageContext context = new MessageContext();
        context.setMessageStrategy(messageStrategy);
        context.sendMessage(messageType, codeMessage);

        return true;
    }

}
